#ifndef __DKGL_DESIGN_PATTERN_H__
#define __DKGL_DESIGN_PATTERN_H__

#include <list>

namespace DKGL
{

class HeapTracked{
public:
	virtual ~HeapTracked();
	static void *operator new (size_t size);
	static void operator delete(void *ptr);

	bool isOnHeap() const;
private:
	typedef const void* RawAddress;
	static std::list<RawAddress> *mAddress;
};

}//namespace DKGL

#endif
